/*    
    OpenMheg - A free MHEG-5 library
    Copyright (C) 2008 Dharmesh Malam

    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.
*/

using System;
using System.Collections.Generic;
using System.Text;
using System.Xml;
using System.Drawing;
using Core.Model.Ingredients.Presentable.Visibles;
using Parser;

namespace XMHEGDecoder.Builders.Visibles
{
    public class VisibleBuilder
    {
        public static void Build ( XmlElement node, Visible visible )
        {
            IngredientBuilder.Build( node, visible );

            #region  Add our attributes

            XmlElement e;
            
            e = node[ "original-box-size" ];
            if ( e != null )
            {
                XmlElement x = e[ "x-length" ];
                XmlElement y = e[ "y-length" ];

                if ( x != null && y != null )
                    visible.OriginalBoxSize = new Size( DecodeUtils.ParseInt( x.InnerText ), DecodeUtils.ParseInt( y.InnerText ) );
            }

            e = node["original-position" ];
            if ( e != null )
            {
                XmlElement x = e["x-position" ];
                XmlElement y = e[ "y-position" ];

                if ( x != null && y != null )
                    visible.OriginalBoxPosition = new Point( DecodeUtils.ParseInt( x.InnerText ), DecodeUtils.ParseInt( y.InnerText ) );
            }

            #endregion
        }
    }
}
